This application generally relates to data update techniques used in computer systems, and more specifically to integrating changes in data records into an existing database in computer systems.
Data which is stored, as in a database, may be required to be updated. For example, an existing database may require additional records to be inserted, existing records to be deleted, or an existing entry to be modified.
One technique for updating an existing database includes applying various update records and changes to the database. For example, a thousand entries need to be updated, where an update includes a modification, an insertion or a deletion. One drawback, however, with this technique of applying updates is that as the number of records to be modified or updated increases, the amount of time required to update the database also increases. For example, to integrate changes on a daily basis for a database may require that the total amount of time required to update the database and apply all of the changes be done within a certain time period. As the amount of transactions required to update the database increases, the database may not be able to be updated within a defined amount of time in a particular system.
A second technique by which databases are updated is to simply replace an entire system database with a new fresh copy of the database. Thus, rather than apply update changes to an existing database, a new fresh copy of a database is supplied and simply replaces a prior version. One drawback with using this technique is that the amount of time required to produce an entire new database when the amount of updates or changes required to the database is relatively small means that an inefficient use of resources within a computer system occurs.
Additional complexities may arise when performing updates in a distributed computing environment, such as, for example requiring synchronization of transactions over multiple nodes in a computer system.
Thus, there is required an efficient technique which facilitates data updates to an existing database, as in a computer system.
In accordance with principles of the invention is a method of performing an update of a first database from a second database. A normalized copy of the first database is updated in accordance with specified update transactions. An ad repository that includes text and non-text data is updated in accordance with those advertisements which have been modified. Updated term lists are provided which include identifiers indexing into the first database in accordance with a particular keyword. A second updated copy of the term lists is built. A second copy of the ad repository is produced. A denormalized form of the primary database and a denormalized form of a secondary database are produced. The updated advertisements included in the ad repository are made available for use. The updated identifiers as included in the second copy of the updated term lists are also made available for use.
Thus, there is provided an efficient technique which facilitates data updates to an existing database, as in a computer system.